﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Flighttracker
{
    public class Luchthaven : ISearchable
    {
        public string LHV_IATA { get; private set; }
        public string Naam { get; private set; }
        public string Land { get; private set; }
        public string Plaats { get; private set; }
        public double Longitude { get; private set; }
        public double Latitude { get; private set; }
        public double Altitude { get; private set; }
        public List<Baangebruik> BaangebruikList { get; private set; }
        public List<Vlucht> AlleVluchten { get; private set; }

        /// <summary>
        /// Constructor
        /// </summary>
        public Luchthaven(string lhv_iata, string naam, string land, string plaats, double longitude, double latitude, double altitude)
        {
            this.LHV_IATA = lhv_iata;
            this.Naam = naam;
            this.Land = land;
            this.Plaats = plaats;
            this.Longitude = longitude;
            this.Latitude = latitude;
            this.Altitude = altitude;
        }

        public Luchthaven(List<string> stringList)
        {
            LHV_IATA = stringList[0];
            Naam = stringList[1];
            Plaats = stringList[2];
            if(stringList[3] != "null") Land = stringList[3];
            Longitude = Convert.ToDouble(stringList[4]);
            Latitude = Convert.ToDouble(stringList[5]);
            Altitude = Convert.ToDouble(stringList[6]);
            BaangebruikList = new List<Baangebruik>();
            AlleVluchten = new List<Vlucht>();
        }

        /// <summary>
        /// Baangebruik object wordt toegevoegd aan de lijst.
        /// </summary>
        /// <returns></returns>
        public void VoegBaangebruikToe(Baangebruik baangebruik)
        {
            BaangebruikList.Add(baangebruik);
        }

        public void VoegVluchtToe(Vlucht vlucht)
        {
            AlleVluchten.Add(vlucht);
        }

        /// <summary>
        /// Geeft een lijst terug van alle vluchten die vanaf hier vertrekken of hier aankomen.
        /// </summary>
        /// <returns></returns>
        public List<Vlucht> ToonAlleVluchten()
        {
            return null;
        }

        public bool ZoekUniekID(string id)
        {
            if (this.LHV_IATA == id)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

    }
}